package com.esunny.resourcevisualization.dao;

import com.esunny.resourcevisualization.domain.entity.EnumItem;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @version 1.0.0.0
 * @InterfaceName EnumItemDao
 * @Description 枚举项数据操作
 * @Author baochencong
 * @Date 2020/9/26 13:08
 */
@Mapper
public interface EnumItemDao {

    /**
     * 添加枚举项
     *
     * @param enumItem 枚举项
     */
    boolean addEnumItem(EnumItem enumItem);

    /**
     * 通过枚举组英文名删除枚举项
     *
     * @param groupName 枚举组英文名
     */
    int deleteEnumItemByGroupName(String groupName);

    /**
     * 通过枚举项id删除枚举项
     *
     * @param itemId 枚举项id
     */
    boolean deleteEnumItemByItemId(int itemId);

    /**
     * 通过枚举项id修改枚举项信息
     *
     * @param enumItem 枚举项信息
     */
    boolean updateEnumGroup(EnumItem enumItem);

    /**
     * 通过枚举组英文名获取枚举项信息
     *
     * @param groupName 枚举组英文名
     * @return 枚举项列表
     */
    List<EnumItem> getEnumItemListByGroupName(String groupName);

    /**
     * 通过枚举项id获取枚举项信息
     *
     * @param itemId 枚举项id
     * @return 枚举项
     */
    EnumItem getEnumItemByItemId(int itemId);

    /**
     * 通过枚举组英文名和枚举项键获取枚举项值
     *
     * @param groupName 枚举组英文名
     * @param itemKey   枚举项键
     * @return 枚举项信息
     */
    EnumItem getEnumItemByGroupNameAndItemKey(String groupName, String itemKey);

}
